type
Post
status
Published
date
Apr 22, 2025
slug
mi-gpt-account
summary
最近尝试使用Github 上的开源项目让我的小爱音箱接入 GPT 能力,接入的过程中碰到的账号认证的问题记录一下
tags
AI
工具
category
技术分享
icon
password
mi-gpt
idootop • Updated Apr 24, 2025
接入参考的是这个仓库,根据教程配置完账号、密码、设备名称后,发现总是卡在登录验证的部分。
提示如下
🔥 触发小米账号异地登录安全验证机制,请在浏览器打开以下链接,并按照网页提示授权验证账号:
(附带一个url,打开是需要发送手机验证码进行验证登录的页面)
下面还有另一行提示:
🐛 注意:授权成功后,大约需要等待 1 个小时左右账号信息才会更新,请在更新后再尝试重新登录。
初次碰到这个问题的时候我确实根据提示内容乖乖等了一个小小时,结果多次尝试依旧无法登录,甚至当天的手机验证码发送次数达到上限依旧无法登录,琢磨了两天终于找到了解决办法
📝 登录失败
mi-gpt内部依赖
mi-service-lite 实现登录操作,主要分为两种登录方式: 二者本质都是请求小米的登录接口,根据渠道号
sid 区分不同的登录来源, 通过debug发现登录失败主要发生在 getMIoT 中,接口会返回一个用于手机短信验证登录的地址,猜测是登录完成后cookie无法写入到服务中导致token数据无法写入到本地。手动模拟token
passToken
获取passToken
- 第一次登录失败之后,从控制台拿到短信验证的地址打开
- F12 打开开发者工具,切换到网络面板
- 在网页中进行验证码登录流程
- 登录完成后页面会跳转并展示
ok字样
- 在网络面板中搜素passToken,会发现某个接口会在cookie中写入该字段,
- 复制该内容,此时就拿到了passToken
在源码中找到使用passToken的地方进行修改,可以直接在代码中搜
_getLoginCookies同一个函数在不同类型项目调用的代码位置不一样,比如cjs和js两种格式,建议开启 debug确保这段代码会被执行

serviceToken
找到
_getServiceToken 函数,这个函数会从接口返回值的cookie中取出serviceToken,这里我们进行手动赋值上述操作结束之后就可以重启项目进行测试了,看到 “服务已启动” 就说明服务启动成功了。
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~